Component({
  properties: {
    // 这里定义了innerText属性，属性值可以在组件使用时指定
  },
  data: {
    showModal: false,
    title: '温馨提示',
    content: '',
    showCancel: true,
    cancelColor: '#3a3a3a',
    cancelText: '取消',
    confirmColor: '#00800',
    confirmText: '确认',
    confrimHide: true, // 点击确认是否隐藏
    comfirm () { },
    cancel () { }
  },
  methods: {
    // 外部方法调用
    showModal (params) {
      this.setData({
        showModal: true,
        title: params.title || '温馨提示', // title
        content: params.content || '', // 中间内容
        showCancel: !params.showCancel ? true : params.showCancel, // 是否显示左侧
        cancelColor: params.cancelColor || '#3a3a3a', // 取消按钮文字颜色
        cancelText: params.cancelText || '取消', // 左侧按钮文字
        confirmColor: params.confirmColor || '#09BA07', // 右侧按钮文字颜色
        confirmText: params.confirmText || '确认', // 右侧按钮文字
        /* 回调函数 */
        comfirm: params.comfirm || function () {}, // 点击确认（右侧按钮）
        cancel: params.cancel || function () {}, // 点击取消（左侧按钮）
        confrimHide: params.confrimHide === undefined ? true : params.confrimHide // 是否在点击确定时关闭，默认 是
      });
    },
    // 外部调用方法-隐藏
    hideModal () {
      this.setData({ showModal: false });
    },
    // 点击确定
    _comfirm () {
      if (this.data.confrimHide) {
        this.setData({
          showModal: false
        }, () => {
          this.data.comfirm();
        });
      } else {
        this.data.comfirm();
      }
    },
    // 点击取消
    _cancel () {
      this.setData({
        showModal: false
      }, () => {
        this.data.cancel();
      });
    }
  }
});